package com.ygsoft.tianlu_mall.service;

import com.ygsoft.tianlu_mall.pojo.Goods;
import com.ygsoft.tianlu_mall.pojo.Shop;
import com.ygsoft.tianlu_mall.pojo.vo.req.*;
import org.springframework.web.multipart.MultipartFile;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

public interface ShopService {
    //登录时提取用户的店铺信息
    Shop getShopById(int userid);

    //添加商品到店铺
    void addGoods(AddGoodsReqVO vo);
    //商品信息
    void addGoodsInfo(Goods goods);
    int getNewGoodId();//获得当前goods_id
    void setGoodPropertyValue(int newGoodId, List<AddPropertyValueItemReqVO> listValue);//添加商品属性

    //新增商品文件到阿里云
    String getFolderName(int type_id);
    String getShopName(int shop_id);
    String getGoodsName(int goods_id);
    void saveGoodsTitleUrl(int goods_id, String titleUrl);
    void saveGoodsContentUrl(int goods_id, String contentUrl);
    void saveGoodsFileUrl(int goods_id, String fileUrl);


    //上下架
    //检查商品是否被添加
    Boolean checkGoodsOnDB(int goods_id);
    //检查商品的状态
    int checkGoodsStatus(int goods_id);
    //上架商品
    void goodsUpshelf(int goods_id);
    //下架商品
    void goodsDownshelf(int goods_id);


    //更新商品信息


    HashMap<String, Object> getUpdateGoodsInfo(int goods_id);
    void updateGoods(UpdateGoodsReqVO vo);
    void updateGoodsInfo(HashMap<String, Object> map);
    void updateGoodsPropertyValue(int goods_id, List<UpdatePropertyValueItemReqVO> listValue);
    int getTypeId(int goods_id);
    int getShopId(int goods_id);
    void updateGoodsTitleUrl(int goods_id, String titleUrl);
    void updateGoodsContentUrl(int goods_id, String contentUrl);
    void updateGoodsFileUrl(int goods_id, String fileUrl);



    //店铺商品信息展示
    List<Map<String,Object>> getGoodsByShopId(int shop_id);
    List<Map<String, Object>> getGoodsByShopIdAndTypeId(int shop_id, int type_id);


    List getGoodsIdByShopId(int shop_id);

    List getGoodsIdByShopIdAndTypeId(int shop_id, int type_id);

    Double getService(int shop_id);

    Double getDescription(int shop_id);

    int isCollectShop(int shop_id,int user_id);

    int checkRealName(int user_id);

    void doReal(DoRealReqVO vo);

    HashMap<String, Object> getRealInfo(int user_id);

    void auditReal(int user_id);

    int getUserShop(int user_id);

    void openShop(int user_id, String shop_name);

    int getShopIdByUserId(int user_id);
}
